我正在使用log4javascript来记录和跟踪我的JavaScript代码中的问题。我以前见过类似的日志记录辅助工具,但我很难理解应该如何使用这些日志级别中的每一个才能更有用和更有成效。大多数时候,我最终会记录调试、信息或跟踪,但并没有真正意识到它们各自的效率如何。随着代码变得越来越大,它变得越来越困难,我觉得日志麻烦多于帮助。有人可以给我一些指南/帮助,以便我可以很好地使用日志记录机制。以下是log4javascript支持的不同日志级别:log4javascript.Level.ALLlog4javascript.Level.TRACElog4javascript.Level.
我知道.split("-",2),但我怎样才能做出这样的东西varstr="123-341235";alert(str.split("-",2).[2])谢谢大家的帮助! 最佳答案 我看到两个简单的解决方案,它们的性能大致相同:varstr="123-341235";str.split('-')[1];//=>"341235"(slower)str.slice(str.indexOf('-')+1);//=>"341235"(faster)这jsPerfbenchmark显示“slice/indexOf”解决方案在Chrome和Fi
我有一个包含许多子项的可滚动元素和一个带有相应选项的选择标签。我想根据元素.scrollTop()更改select的值如何高效地做到这一点?我考虑过将children的.offset().top存储在一个数组中并循环遍历它。但是,浏览器不处理它。我可能会尝试创建一个.setTimeout()标志,但这看起来并不干净。r=$('ul')offsets=[]r.find('li').each((index)->offsets[index]=$(this).offset().top)r.bind('scroll',->//whileloopchecking.scrollTop()>offse
我想使用javascript检查字符串是否包含url我从谷歌获得了这段代码if(newRegExp("[a-zA-Z\d]+://(\w+:\w+@)?([a-zA-Z\d.-]+\.[A-Za-z]{2,4})(:\d+)?(/.*)?").test(status_text)){alert("urlinside");}但是这个只适用于像"http://www.google.com"这样的url和"http://google.com"但它不适用于"www.google.com".我还想从字符串中提取该url,以便我可以处理该url。 最佳答案
在Javascript中,知道我可以设置一个数组,以便键是一个自动编号(从0开始)分配的数组:vard_names=newArray("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");//KeyforSundayis'0'如果我想分配键,我可以这样做:vard_names={};d_names[5]="Sunday";d_names[6]="Monday";d_names[7]="Tuesday";d_names[8]="Wednesday";d_names[9]="Thursday";d_n
有没有办法让我以编程方式确定两个jQuery选择器是否选择了完全相同的元素?我试图遍历一组div并跳过其中一个。我想要的是这样的:var$rows,$row,$row_to_skip;$rows=$('.row-class')$row_to_skip=$('#skipped_row')$.each($rows,function(id,row){$row=$(row);if(!$row==$row_to_skip){//Dosomestuffhere.};}); 最佳答案 您可以将jQuery对象传递给.not():$rows.not
我正在尝试用javascript编写一个简单的函数来检查DOM中是否存在某个元素,如果它确实被删除,如果不存在,则将其附加到页面,到目前为止我已经得到了这个ifdocument.contains(document.getElementById("submitbutton"){document.getElementById("submitbutton").remove();}else{lastDiv.appendChild(submitButton);}(lastDiv只是我要将div“submitButton”附加到的div)但是我收到错误“未捕获的ReferenceError:未定义
我有这段代码,我想检查日期是否在过去。我想在输入日期后立即检查它,然后再提交表单。functioncheckDate(){varselectedDate=document.getElementById('datepicker').value;varnow=newDate();if(selectedDate这不起作用,如果我输入过去的日期(例如2014-12-03),它不会显示警报。 最佳答案 您需要做的就是转换生成的字符串使用Date构造函数转换为DatenewDate("2014-06-12")functioncheckDate(
这是我制作的一个快速jsfiddle,可以更好地说明我的问题。functiongi(id){returndocument.getElementById(id)}a=[1,5,1,2,3,5,3,4,3,4,3,1,3,6,7,752,23]for(i=0;i';}(代码也可以在https://jsfiddle.net/qffpcxze/1/获得)所以,该数组中的最后一个值是23,但我怎么知道最后一个值是在循环本身内部循环的?(不检查简单的IFX==23,而是动态检查),如果这有意义的话。 最佳答案 写一个if语句来比较数组长度和ii
我正在做一个Meteor.call('searchDatabase',keys...)每当用户提交搜索时执行。我目前正在传递一组名为keys的已提交单词。但是,我不知道如何在服务器端执行必要的check(keys,?)。我原本以为我可以做keys.forEach(function(element){check(element,String)},但我仍然得到一个Didnotcheck()allarguments错误。我应该只将提交的搜索作为其原始字符串传递到Meteor方法调用中,然后在服务器上将其分解吗?还是有办法检查键是否为数组? 最佳答案